import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'secondStat',
})
export class SecondStatPipe implements PipeTransform {

  transform(value: any, ...args: any[]): unknown {
    if (0 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `伤害 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `伤害 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (1 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `免伤 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `免伤 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (2 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `暴击 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `暴击 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (3 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `爆伤 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `爆伤 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (4 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `先机 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `先机 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (5 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `命中 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `命中 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (6 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `闪避 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `闪避 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (7 === value?.['二级属性']) {
      if (value?.['属性数值'] < 10 && value?.['属性数值'] > -10) {
        return `血量 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
      }
      return `血量 ${(value?.['属性数值']).toFixed(0)}`;
    } else if (8 === value?.['二级属性']) {
      return `化劲 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (9 === value?.['二级属性']) {
      return `抗性 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (10 === value?.['二级属性']) {
      return `命中嘲讽 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (11 === value?.['二级属性']) {
      return `命中恢复 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (12 === value?.['二级属性']) {
      return `行动恢复 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (13 === value?.['二级属性']) {
      return `伤害反弹 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (14 === value?.['二级属性']) {
      return `重生概率 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (15 === value?.['二级属性']) {
      return `命中冰封 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (16 === value?.['二级属性']) {
      return `命中缠绕 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (17 === value?.['二级属性']) {
      return `命中眩晕 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (18 === value?.['二级属性']) {
      return `附带中毒 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (19 === value?.['二级属性']) {
      return `附带流血 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (20 === value?.['二级属性']) {
      return `附带点燃 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (21 === value?.['二级属性']) {
      return `附带烧血 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (22 === value?.['二级属性']) {
      return `附带致死 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (23 === value?.['二级属性']) {
      return `命中减攻 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (24 === value?.['二级属性']) {
      return `命中减暴击 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (25 === value?.['二级属性']) {
      return `命中减爆伤 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (26 === value?.['二级属性']) {
      return `命中减防 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (27 === value?.['二级属性']) {
      return `命中减先机 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (28 === value?.['二级属性']) {
      return `命中减命中 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (29 === value?.['二级属性']) {
      return `命中减闪避 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (30 === value?.['二级属性']) {
      return `治疗加攻 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (31 === value?.['二级属性']) {
      return `治疗加爆率 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (32 === value?.['二级属性']) {
      return `治疗加爆伤 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (33 === value?.['二级属性']) {
      return `治疗加防 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (34 === value?.['二级属性']) {
      return `治疗加先机 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (35 === value?.['二级属性']) {
      return `治疗加命中 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (36 === value?.['二级属性']) {
      return `治疗加闪避 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (37 === value?.['二级属性']) {
      return `攻击驱散 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (38 === value?.['二级属性']) {
      return `治疗驱散 ${(value?.['属性数值'] * 100).toFixed(2)}%`;
    } else if (undefined === value?.['二级属性']) {
      return '';
    } else {
      console.log('SecondStatPipe', value);
      return `${value?.['二级属性']} ${value?.['属性数值']}`;
    }
  }

}
